import requests
from bs4 import BeautifulSoup

def get_weather(city):
    # 构建目标网站的URL，替换成目标城市
    url = f"https://www.timeanddate.com/weather/china/{city}"

    # 发送请求，获取网页内容
    response = requests.get(url)

    # 检查是否请求成功
    if response.status_code != 200:
        print("无法访问天气页面，请检查城市名称或网络连接。   ")
        return

    # 解析网页内容
    soup = BeautifulSoup(response.text, 'html.parser')

    try:
        # 获取当前日期（从“Current Time”表格中获取）
        current_time = soup.find('td', {'id': 'wtct'}).text.strip()

        # 获取当前温度
        temperature = soup.find('div', {'class': 'h2'}).text.strip()

        # 获取天气描述
        weather_description = soup.find('div', {'class': 'h2'}).find_next('p').text.strip()

        # 输出爬取到的数据
        print(f"当前日期和时间：{current_time}")
        print(f"当前温度：{temperature}")
        print(f"天气描述：{weather_description}")
    except AttributeError:
        print("无法提取天气信息，可能是因为该城市页面的结构与预期不同。")


if __name__ == "__main__":
    # 输入城市名称
    city = input("请输入城市名称（如：chengdu、beijing等）：").lower()

    # 获取该城市的天气信息
    get_weather(city)
